package com.mars.admin.modules.activity.entity;

import com.mars.admin.modules.base.entity.BaseEntity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 活动分类实体
 *
 * @author Mars
 * @version 1.0
 * @date 2025-01-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Table("tb_activity_category")
@Schema(description = "活动分类")
public class ActivityCategory extends BaseEntity {

    /**
     * 分类ID
     */
    @Id(keyType = KeyType.Auto)
    @Schema(description = "分类ID", example = "1")
    private Long id;

    /**
     * 父分类ID，0为根分类
     */
    @Schema(description = "父分类ID", example = "0")
    private Long parentId;

    /**
     * 分类名称
     */
    @Schema(description = "分类名称", example = "户外运动")
    private String name;

    /**
     * 分类图标
     */
    @Schema(description = "分类图标", example = "icon-outdoor")
    private String icon;

    /**
     * 分类封面图
     */
    @Schema(description = "分类封面图", example = "https://example.com/cover.jpg")
    private String coverImage;

    /**
     * 分类描述
     */
    @Schema(description = "分类描述", example = "户外运动类活动")
    private String description;

    /**
     * 排序
     */
    @Schema(description = "排序", example = "1")
    private Integer sortOrder;

    /**
     * 是否热门：0-否，1-是
     */
    @Schema(description = "是否热门", example = "1")
    private Integer isHot;

    /**
     * 状态：0-禁用，1-启用
     */
    @Schema(description = "状态", example = "1")
    private Integer status;
}
